nanopyx.core.transform.image_polar
Combination of functions for shifting an image, using several interpolation methods.
1""" 2Combination of functions for shifting an image, using several interpolation methods. 3""" 4 5import numpy as np 6 7from ..utils.timeit import timeit2 8from . import interpolation_bicubic 9from . import interpolation_bilinear 10from . import interpolation_nearest_neighbor 11from . import interpolation_catmull_rom 12from . import interpolation_lanczos 13 14from skimage.transform import warp_polar 15 16@timeit2 17def catmull_rom_polar(image: np.ndarray, scale:str='linear'): 18 interpolator = interpolation_catmull_rom.Interpolator(image) 19 return interpolator.polar(scale) 20 21 22@timeit2 23def lanczos_polar(image: np.ndarray, scale:str='linear'): 24 interpolator = interpolation_lanczos.Interpolator(image) 25 return interpolator.polar(scale) 26 27 28@timeit2 29def bicubic_polar(image: np.ndarray, scale:str='linear'): 30 interpolator = interpolation_bicubic.Interpolator(image) 31 return interpolator.polar(scale) 32 33 34@timeit2 35def bilinear_polar(image: np.ndarray, scale:str='linear'): 36 interpolator = interpolation_bilinear.Interpolator(image) 37 return interpolator.polar(scale) 38 39 40@timeit2 41def nearest_neighbor_polar(image: np.ndarray, scale:str='linear'): 42 interpolator = interpolation_nearest_neighbor.Interpolator(image) 43 return interpolator.polar(scale) 44 45 46@timeit2 47def skimage_polar(image: np.ndarray, scale:str='linear'): 48 return warp_polar(image, scaling=scale)